﻿using System;
using System.Windows.Forms;
using CRC.Clases;
using CRC.Inspecciones.Dominio.Controlador;
using CRC.GestionSalones.Dominio.Clases;
using CRC.GestionSalones.Presentacion;

namespace CRC.Inspecciones.Presentacion
{
    class EditarInspector : DlgPersona 
    {
        private Controlador_ModificarInspector cMI = new Controlador_ModificarInspector();

        public EditarInspector(int pIntInspector) {
            InitializeComponent();
            CargarInspector(pIntInspector);
        }

        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // butOK
            // 
            this.butOK.Click += new System.EventHandler(this.butOK_Click);
            // 
            // lblMovil
            // 
            this.lblMovil.Text = "Móvil";
            // 
            // label1
            // 
            this.label1.Text = "Móvil alt.";
            // 
            // EditarInspector
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.ClientSize = new System.Drawing.Size(354, 197);
            this.Name = "EditarInspector";
            this.Text = "Ver/Editar Representante";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        public override void butOK_Click(object sender, EventArgs e)
        {
            if (txtNombre.Text.Length == 0)
            {
                MessageBox.Show(
                    "Introduce el Nombre.",
                    "Atención",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation
                );
                return;
            }

            if (txtApellido1.Text.Length == 0)
            {
                MessageBox.Show(
                    "Introduce el primer apellido.",
                    "Atención",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation
                );
                return;
            }
            try
            {

                Persona inspector = cMI.modificarInspector(
                    this.txtNombre.Text.Trim(),
                    txtApellido1.Text.Trim(),
                    txtApellido2.Text.Trim(),
                    txtTelfFijo.Text.Trim(),
                    txtTelfMovil.Text.Trim(),
                    txtMovil2.Text.Trim(),
                    txtEmail.Text.Trim()
                );

                foreach (IListadoInspectores listener in lstListadoInspectoresListener)
                {
                    listener.actualizarInspector(inspector);
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(
                        ex.Message,
                        "Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
            }
        }

        private void CargarInspector(int pIntInspector) {

            Persona inspector = null;

            try
            {
                inspector = cMI.obtieneInspector(pIntInspector);
                this.txtNombre.Text = inspector.Nombre;
                this.txtApellido1.Text = inspector.Apellido1;
                this.txtApellido2.Text = inspector.Apellido2;
                this.txtTelfFijo.Text = inspector.TelefonoFijo;
                this.txtTelfMovil.Text = inspector.TelefonoMovil1;
                this.txtMovil2.Text = inspector.TelefonoMovil2;
                this.txtEmail.Text = inspector.Email;
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    "Error al cargar el inspector." + ex.Message,
                    "Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                );
            }

        }
    }
}
